package org.jeecg.modules.demo.spcWeeklyPlan.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.models.auth.In;
import org.jeecgframework.poi.excel.annotation.Excel;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 周计划
 * @Author: jeecg-boot
 * @Date:   2023-10-23
 * @Version: V1.0
 */
@Data
@TableName("spc_weekly_plan")
@ApiModel(value="spc_weekly_plan对象", description="周计划")
public class SpcWeeklyPlan implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键id")
    private java.lang.String id;
	/**周计划单号*/
    @Excel(name = "周计划单号", width = 15)
    @ApiModelProperty(value = "周计划单号")
    private java.lang.String documentNumber;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**审核人*/
    @Excel(name = "审核人", width = 15,dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "审核人")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private java.lang.String reviewedBy;
	/**审核时间*/
    @Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "审核时间")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private java.util.Date auditTime;
	/**审核意见*/
    @Excel(name = "审核意见", width = 15)
    @ApiModelProperty(value = "审核意见")
    private java.lang.String reviewComments;
	/**单据状态*/
    @Excel(name = "单据状态", width = 15,dicCode="shenh_state")
    @ApiModelProperty(value = "单据状态")
    @Dict(dicCode="shenh_state")
    private java.lang.Integer documentStatus;
	/**单据日期*/
    @Excel(name = "单据日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "单据日期")
    private java.util.Date documentDate;
	/**开始日期*/
    @Excel(name = "开始日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开始日期")
    private java.util.Date startTime;
	/**结束日期*/
    @Excel(name = "结束日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "结束日期")
    private java.util.Date endTime;
	/**计划类型*/
    @Excel(name = "计划类型", width = 15)
    @ApiModelProperty(value = "计划类型")
    private java.lang.Integer planType;
	/**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String notes;
	/**租户id*/
    @Excel(name = "租户id", width = 15)
    @ApiModelProperty(value = "租户id")
    private java.lang.Integer tenantId;
	/**无税单价*/
    @Excel(name = "无税单价", width = 15)
    @ApiModelProperty(value = "无税单价")
    private java.math.BigDecimal wsdj;
	/**无税金额*/
    @Excel(name = "无税金额", width = 15)
    @ApiModelProperty(value = "无税金额")
    private java.math.BigDecimal wsje;
	/**含税单价*/
    @Excel(name = "含税单价", width = 15)
    @ApiModelProperty(value = "含税单价")
    private java.math.BigDecimal hsdj;
	/**含税金额*/
    @Excel(name = "含税金额", width = 15)
    @ApiModelProperty(value = "含税金额")
    private java.math.BigDecimal hsje;
	/**税额*/
    @Excel(name = "税额", width = 15)
    @ApiModelProperty(value = "税额")
    private java.math.BigDecimal taxAmount;
	/**税率*/
    @Excel(name = "税率", width = 15,dicCode = "shuilv")
    @ApiModelProperty(value = "税率")
    @Dict(dicCode = "shuilv")
    private Integer taxRate;
	/**订单总量*/
    @Excel(name = "订单总量", width = 15)
    @ApiModelProperty(value = "订单总量")
    private java.math.BigDecimal soTotail;
	/**业务员*/
    @Excel(name = "业务员", width = 15,dictTable = "sys_user",dicCode ="id",dicText="realname")
    @ApiModelProperty(value = "业务员")
    @Dict(dictTable = "sys_user",dicCode ="id",dicText="realname")
    private java.lang.String soStaff;
	/**是否生成周计划明细（0：未生成，1：完成，2部分生成）*/
    @Excel(name = "是否生成周计划明细（0：否，1：是）", width = 15)
    @ApiModelProperty(value = "是否生成周计划明细（0：否，1：是）")
    @Dict(dicCode = "hetzt")
    private java.lang.Integer isZjhmx;
	/**客户*/
    @Excel(name = "客户", width = 15)
    @ApiModelProperty(value = "客户")
    private java.lang.String soCustom;
	/**运输方式*/
    @Excel(name = "运输方式", width = 15)
    @ApiModelProperty(value = "运输方式")
    @Dict(dicCode = "yunsfs")
    private java.lang.String ysType;
	/**项目*/
    @Excel(name = "项目", width = 15)
    @ApiModelProperty(value = "项目")
    private java.lang.String project;
	/**存货名称*/
    @Excel(name = "存货名称", width = 15)
    @ApiModelProperty(value = "存货名称")
    private java.lang.String prdNo;
	/**单位*/
    @Excel(name = "单位", width = 15)
    @ApiModelProperty(value = "单位")
    private java.lang.String danwei;
	/**部门*/
    @Excel(name = "部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "部门")
    private java.lang.String dept;
	/**剩余可生成周计划明细量*/
    @Excel(name = "剩余可生成周计划明细量", width = 15)
    @ApiModelProperty(value = "剩余可生成周计划明细量")
    private java.math.BigDecimal soLjck;
	/**可出库数量*/
    @Excel(name = "可出库数量", width = 15)
    @ApiModelProperty(value = "可出库数量")
    private java.math.BigDecimal soKck;
	/**计量单位*/
    @Excel(name = "计量单位", width = 15)
    @ApiModelProperty(value = "计量单位")
    private java.lang.String jldw;
	/**开票金额*/
    @Excel(name = "开票金额", width = 15)
    @ApiModelProperty(value = "开票金额")
    private java.math.BigDecimal kpJine;
	/**预收款金额*/
    @Excel(name = "预收款金额", width = 15)
    @ApiModelProperty(value = "预收款金额")
    private java.math.BigDecimal yskJine;
	/**到站*/
    @Excel(name = "到站", width = 15)
    @ApiModelProperty(value = "到站")
    private java.lang.String daozbm;
	/**附件*/
    @Excel(name = "附件", width = 15)
    @ApiModelProperty(value = "附件")
    private java.lang.String fj;
	/**是否预开票*/
    @Excel(name = "是否预开票", width = 15)
    @ApiModelProperty(value = "是否预开票")
    private java.math.BigDecimal isYkp;
	/**开票数量*/
    @Excel(name = "开票数量", width = 15)
    @ApiModelProperty(value = "开票数量")
    private java.math.BigDecimal kpNum;
	/**剩余可结算的数量开票*/
    @Excel(name = "剩余可结算的数量开票", width = 15)
    @ApiModelProperty(value = "剩余可结算的数量开票")
    private java.math.BigDecimal kjskpNum;
	/**合同内部编号*/
    @Excel(name = "合同内部编号", width = 15)
    @ApiModelProperty(value = "合同内部编号")
    private java.lang.String tradecode;
	/**剩余可结算金额(预结算单专用)*/
    @Excel(name = "剩余可结算金额(预结算单专用)", width = 15)
    @ApiModelProperty(value = "剩余可结算金额(预结算单专用)")
    private java.math.BigDecimal kjsJine;
	/**期初类型*/
    @Excel(name = "期初类型", width = 15)
    @ApiModelProperty(value = "期初类型")
    private java.lang.String qcType;
	/**发站*/
    @Excel(name = "发站", width = 15)
    @ApiModelProperty(value = "发站")
    private java.lang.String fazbm;
	/**指标json*/
    @Excel(name = "指标json", width = 15)
    @ApiModelProperty(value = "指标json")
    private java.lang.String targetJson;
	/**指标*/
    @Excel(name = "指标", width = 15)
    @ApiModelProperty(value = "指标")
    private java.lang.String target;
	/**业务类型*/
    @Excel(name = "业务类型", width = 15)
    @ApiModelProperty(value = "业务类型")
    private java.lang.String ywType;
	/**合同编号*/
    @Excel(name = "合同编号", width = 15)
    @ApiModelProperty(value = "合同编号")
    private java.lang.String soConNo;
}
